package com.itrencai.d3_polymorphic;

public class Test {
    public static void main(String[] args) {
        //1、多态的形式   父类类型 对象名称=new 子类构造器
/*        Animal a=new Dog();
        a.run();

        Animal a2=new Tortoise();
        a2.run();*/

        //Animal a= new Dog();
        Animal a=new Tortoise();
        if (a instanceof Tortoise) {
            a = new Tortoise();
            Tortoise t= (Tortoise) a;//强制类型转换,从父类类型到子类类型
            go(a);
            t.layEggs();

        }else if (a instanceof Dog){
            Dog a2=new Dog();
            go(a2);
            a2.lookDoor();//多态下不能访问子类的独有功能

        }




    }


    //要求:所有动物都能够进来比赛
    public static void go(Animal a){
        System.out.println("开始，，，");
        a.run();
        System.out.println("结束，，，");
    }


}
